home *** CD-ROM | disk | FTP | other *** search
/ Freelog Special Freeware 31 / FreelogHS31.iso / ArgentCompta / FASTCAISSE / Setup FASTCAISSE.exe / {app} / A faire60.sql < prev    next >
Text File  |  2004-05-13  |  1KB  |  40 lines

  1. alter tABLE ARTICLES ADD STOCK_DISPO COMPUTED BY (DISPO-RESERVE);
  2. ALTER TABLE PIECES ADD LIVRE T_BOOLEAN;
  3. ALTER TABLE PIECES ADD ORG_FRACTION integer;
  4. ALTER TABLE PIECES ADD PC_FRACTION POURCENT;
  5. ALTER TABLE PIECES ADD CODEMAGASIN VARCHAR(15);
  6. COMMIT;
  7. CREATE PROCEDURE "SET_LIVRE"
  8. (
  9.   "INVALUE" INTEGER
  10. )
  11. AS
  12. DECLARE VARIABLE v1 INTEGER;
  13. DECLARE VARIABLE v2 INTEGER;
  14. BEGIN
  15. SELECT COUNT(INDX) FROM PIECES WHERE INDX=:INVALUE AND TYPEPIECE IN (1,2,3,12) INTO :v1;
  16. IF (v1>0) THEN  /* TESTER SI QTE */
  17.   begin
  18.   SELECT COUNT(NOLIGNE) FROM LIGNES WHERE INDEXPIECE=:INVALUE AND QUANTITE IS NOT NULL AND QUANTITE<>0 INTO :v2;
  19.   if (v2=0) THEN /* IL N'EXISTE PAS DE QTE DANS LES LIGNES DE LA PIECE */
  20.   UPDATE PIECES SET LIVRE=1 WHERE INDX=:INVALUE;
  21.   ELSE
  22.   UPDATE PIECES SET LIVRE=0 WHERE INDX=:INVALUE;
  23.   END
  24. ELSE UPDATE PIECES SET LIVRE=NULL WHERE INDX=:INVALUE;
  25. SUSPEND;
  26. end
  27. ;
  28.  
  29. CREATE PROCEDURE "ALL_LIVRE"
  30. AS
  31. DECLARE VARIABLE V1 INTEGER;
  32. BEGIN
  33. FOR SELECT INDX FROM PIECES INTO :v1 DO EXECUTE PROCEDURE SET_LIVRE(:v1);
  34. END
  35. ;
  36.  
  37. EXECUTE PROCEDURE ALL_LIVRE;
  38.  
  39. SET GENERATOR VERSION_BASE TO 60;
  40.